package com.wyix.controller;

import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.ResponseBody;

import java.util.List;

/**
 * @author wangdx
 * @since 2025/8/8
 */
@Controller
public class ProductSearchController {

    // 商品高级搜索，支持多值条件和范围查询
    @GetMapping("/products/search")
    @ResponseBody
    public String advancedSearch(
            // 关键词（必需）
            @RequestParam String keyword,
            // 多分类筛选（可选，允许多个值）
            @RequestParam(required = false) List<String> categories,
            // 价格范围（可选）
            @RequestParam(required = false) Double minPrice,
            @RequestParam(required = false) Double maxPrice,
            // 排序方式（可选，默认按相关度）
            @RequestParam(defaultValue = "relevance") String sort,
            // 分页参数（可选，默认第1页，每页10条）
            @RequestParam(defaultValue = "1") int page,
            @RequestParam(defaultValue = "10") int size
    ) {
        StringBuilder result = new StringBuilder();
        result.append("搜索结果：").append("\n");
        result.append("关键词：").append(keyword).append("\n");
        result.append("分类：").append(categories != null ? categories : "全部").append("\n");
        result.append("价格范围：").append(minPrice != null ? minPrice : "不限")
                .append("-").append(maxPrice != null ? maxPrice : "不限").append("\n");
        result.append("排序：").append(sort).append("\n");
        result.append("分页：第").append(page).append("页，每页").append(size).append("条");

        return result.toString();
    }
}
